The Worldwide Web (“Web”) is the medium of choice for publishing information on-line over the Internet, a widely-used public internetwork globally interconnecting countless client and server computer systems. The Internet provides a transport mechanism through standardized communication protocols, such as the Hypertext Transport Protocol (HTTP), for communicating Web content in the form of text, graphics, sounds, animations, and video.
Web content is exchanged using a form of scripting language, such as the Hypertext Markup Language (HTML), a tag-delimited scripting language interpretable by a majority of currently available Web browsers. In HTML, Web content is embedded in statements that are interpreted by a receiving Web browser and formatted into readable form using tags included in each statement. The tags can include text and display attributes, such as color and text style, as well as references to downloadable content and hyperlinks.
During a Web browsing session, a user can request additional content from a Web server by selecting hyperlinks embedded in each Web page. The hyperlink is relayed by the Web browser as a form of request that is answered by the Web server with downloaded Web content. The download operations can be particularly bandwidth-intensive for those Web pages containing large data objects, such as graphics.
Web content containing graphics poses a trade-off between server and client functionality. Graphics can include both pictorial content, such as photo-realistic images, and illustrative content, including charts and graphs for modeling quantitative information. Graphical Web content generated at a Web server can require a specialized display server which generates the Web content as a separate downloadable file, typically in GIF or JPEG format. Graphics files tend to be large and can require long download times. Typically, an applet will be downloaded from the Web server to generate graphics on the client. However, each applet is application-dependent and can also require long download times.
Web pages can also include dynamically-generated content. Such content enables interactive sessions to provide customized Web content and increased user interest. Dynamically-generated Web content consisting only of text can easily be generated by a Web server which processes the user request and sends back a script containing the requested text embedded as the customized Web content.
Dynamically-generated Web content containing graphics, however, presents a trade-off between customizing Web content and respecting bandwidth limitations. Higher complexity graphs, such as pictorial images, require substantially more bandwidth and can result in slow download times from the Web server.
Three approaches provide graphical Web content to individual Web browsers. In the first approach, graphical Web content is generated in advance of download on a Web server. A graphics engine using a graphics toolkit, such as the Java Abstract Window toolkit (AWT), generates graphics for download and stores the graphical data for retrieval by Web servers upon client request. This approach requires a priori knowledge of expected graphical Web content and limits the level of user interactivity to selecting from amongst pre-generated graphics. As well, this approach also suffers from long download times and is memory intensive.
In the second approach, a graphics engine using a graphical toolkit generates graphical content ad hoc rather than ahead of download time. New graphical content is generated responsive to each new user request and requires the download of a large image. This approach imposes long download times and also requires the user to wait out a sometimes time-consuming graphics generation routine upon each request. This approach is usually memory intensive.
In the third approach, Web browser-executable modules, such as applets, are used to render graphical images on a client at the time of request. This approach has the advantage of decreasing download times for individual graphical images, but still requires the download of individual applets prior to the generation of each graphic. Moreover, applets are generally non-portable and application-dependent.
In the fourth prior art approach graphical images are created as a tag delimited script constructed in the same order as expressed in the script. This approach has the advantage of decreased download times, but has the disadvantage of requiring an application dependent engine that is not extendable.
Therefore, there is a need for an application-independent approach to provide dynamically generated low-complexity graphics, such as charts and graphs, using standard Web-browser functionality. Preferably, such an approach would convert graphics into a Web page script interpretable by a standard Web browser, thereby allowing ad hoc Web content retrieval.
There is a further need for an approach to create low-complexity charts and graphs expressed as tables in a tag-delimited script, such as HTML. Such an approach would create graphical Web content structured into a table by an engine executing in conjunction with a Web server.
There is a further need to provide a standard application-independent engine for generating graphical Web content and exporting a standard application programming interface shared with standardized graphics toolkits, such as the Java AWT.